/*
 * 描述： <描述>
 * 修改人： rain
 * 修改时间： 2016年9月30日
 * 项目： rainhy-auth
 */
package com.rainhy.auth.authItemManager.springdata.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

import com.rainhy.auth.authItemManager.springdata.entity.AuthItemRefEntity;

/**
 * SpringDataAuthManager Dao
 * 
 * @author rain
 * @version [版本号, 2016年9月30日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Repository("com.rainhy.auth.authItemManager.springdata.dao")
public interface AuthItemRefEntityDao extends JpaRepository<AuthItemRefEntity, String>, JpaSpecificationExecutor<AuthItemRefEntity> {
    
    /** 根据权限引用 id 查询权限引用 */
    AuthItemRefEntity findById(String id);
    
    /**
     * 
     * 根据权限 Key, 权限引用 id 和权限引用 type 来查询权限引用
     *
     * @param key 权限 key
     * @param authRefId 权限引用 id
     * @param authRefType 权限引用 type
     * 
     * @return AuthItemRefEntity 权限引用
     * @throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     * @version [版本号, 2016年10月5日]
     * @author rain
     */
    AuthItemRefEntity findByAuthItemKeyAndAuthRefIdAndAuthRefType(String key, String authRefId, String authRefType);
}
